package com.wofish.goods.mapper;

import com.wofish.goods.domain.Goods;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商品 数据层
 * 
 * @author wofish
 * @date 2019-06-16
 */
public interface GoodsMapper {
	/**
     * 查询商品信息
     * 
     * @param goodsId 商品ID
     * @return 商品信息
     */
	public Goods selectGoodsById(Long goodsId);
	
	/**
     * 查询商品列表
     * 
     * @param goods 商品信息
     * @return 商品集合
     */
	public List<Goods> selectGoodsList(Goods goods);
	
	/**
     * 新增商品
     * 
     * @param goods 商品信息
     * @return 结果
     */
	public int insertGoods(Goods goods);

	/**
	 * 批量新增商品
	 *
	 * @param list
	 * @return 结果
	 */
	public int insertBatchGoods(List<Goods> list);
	
	/**
     * 修改商品
     * 
     * @param goods 商品信息
     * @return 结果
     */
	public int updateGoods(Goods goods);
	
	/**
     * 删除商品
     * 
     * @param goodsId 商品ID
     * @return 结果
     */
	public int deleteGoodsById(Long goodsId);
	
	/**
     * 批量删除商品
     * 
     * @param goodsIds 需要删除的数据ID
     * @return 结果
     */
	public int deleteGoodsByIds(String[] goodsIds);

	/**
	 * 根据商品id更新对应的上下架状态
	 * @param goodsId
	 * @param marketable
	 * @return
	 */
	int updateMarketable(@Param("goodsId") long goodsId, @Param("marketable") boolean marketable);
	
}